import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import cesium from 'vite-plugin-cesium'
import { resolve } from 'path'
import AutoImport from 'unplugin-auto-import/vite'

export default defineConfig({
  plugins: [
    vue(),
    cesium(),
    // 自动导入插件配置（可选）
    AutoImport({
      imports: [
        'vue',
        // 自定义导入
        {
          '@/composables': [
            'useGlobal',
            'useGlobalData',
            'useGlobalEvents',
            'useGlobalConfig',
            'useGlobalCache',
            '$global'
          ]
        }
      ],
      dts: true, // 生成类型声明文件
      eslintrc: {
        enabled: true, // 生成 ESLint 配置
      },
    })
  ],
  resolve: {
    alias: {
      '@': resolve(__dirname, 'src')
    }
  },
  define: {
    // 处理Cesium的全局变量
    CESIUM_BASE_URL: JSON.stringify('/cesium/')
  },
  server: {
    port: 3000,
    open: true
  },
  build: {
    outDir: 'dist',
    sourcemap: true,
    rollupOptions: {
      output: {
        manualChunks: {
          cesium: ['cesium'],
          'vector-tile': ['@mapbox/vector-tile', 'pbf']
        }
      }
    }
  },
  optimizeDeps: {
    include: ['@mapbox/vector-tile', 'pbf', '@mapbox/point-geometry'],
    force: true
  }
}) 